package com.jzx.service;

import com.jzx.bean.User;

import java.util.List;

/**
 * @author JunedQQ
 * @create 2019/6/24
 * @since 1.0.0
 */
public interface UserService {


    /**
     * 根据用户id来获取用户信息
     * @param id    用户id
     * @return
     */
    User findUserById(String id);

    /**
     * 获取所有用户
     * @return
     */
    List<User> findAllUser();

    /**
     * 获取用户的数量
     * @return
     */
    int getUserTotal();

    /**
     * 根据用户电话号码来获取用户信息
     * @param tel   电话号码
     * @return
     */
    User findUserByTel(String tel);


    /**
     * 根据用户电话号码来获取用户密码
     * @param tel   电话号码
     * @return
     */
    String getUserPasswordByTel(String tel);

    /**
     * 根据用户id来获取用户密码
     * @param id    用户id
     * @return
     */
    String getUserPasswordById(String id);

    /**
     * 根据用户的电话号码来获取用户的头像地址
     * @param tel   用户电话号码
     * @return
     */
    String getUserPhotoByTel(String tel);

    /**
     * 根据用户id来获取用户头像的地址
     * @param id    用户id
     * @return
     */
    String getUserPhotoById(String id);

    /**
     * 根据用户电话号码来获取用户id
     * @param tel 电话号码
     * @return
     */
    int getUserIdByTel(String tel);

    /**
     * 根据用户id来获取用户电话号码
     * @param id 用户id
     * @return
     */
    String getUserTelById(int id);


    /**
     * 根据用户id修改用户密码
     * @param id    用户id
     * @param newPassword 新的密码
     * @return
     */
    int updateUserPasswordById(int id,String newPassword);

    /**
     * 根据用户电话号码修改用户密码
     * @param tel   用户电话号码
     * @param newPassword 新的密码
     * @return
     */
    int updateUserPasswordByTel(String tel,String newPassword);

    /**
     * 根据用户电话号码更换用户头像地址
     * @param tel   电话号码
     * @param photo     新的photo地址
     * @return
     */
    int updateUserPhotoByTel(String tel,String photo);

    /**
     * 根据用户id更改用户头像地址
     * @param id   用户id
     * @param photo     用户新的photo地址
     * @return
     */
    int updateUserPhotoById(int id,String photo);

    /**
     * 添加用户，
     * @param user  用户信息实体类
     * @return
     */
    int addUser(User user);
}